1
定义智能指针与元数据
AI034Lesson 15
00:00

一个 智能指针 是一种抽象数据结构,其行为类似于指针,但携带额外的 元数据 和逻辑来管理其所指向的数据。而标准引用(&T)只是一个简单的内存地址——一个“笨拙”的指针——而 智能指针模式 在 Rust 中使用结构体将指针封装起来,以自定义所有权规则、访问控制和自动清理机制。

元数据的优势

可以将标准引用想象成一个 普通房门钥匙:它仅提供进入权限,除此之外别无其他。而智能指针则像一个 门禁卡系统:卡片存储了元数据(访问日志、权限、过期时间),并且在你离开时可自动锁门(完成清理)。

常规引用 (&T)[ 地址 ]智能指针 (Box/Rc)元数据:引用计数 / 长度[ 地址 ]Ferris 🦀?错误:此处多重所有权无法成立!let z = x; let y = &x; // 缺少元数据

核心逻辑

在 Rust 中,智能指针通过实现 DerefDrop 这两个特质来定义。这使得它们在被访问或销毁时能够执行自定义逻辑,同时表现得像引用一样。

$$\text{指针} + \text{元数据} + \text{Deref/Drop 特质} = \text{智能指针}$$
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>